今天要介紹的是將修改實做出來,
一樣先進入app\router.php檔案中輸入以下程式碼:
Route::get('message/edit/{id}', function($id)
{
//引入檔案
$results = DB::select('select * from message_list where id=?',array($id));
foreach($results as $result){
$title =$result->title;
$content=$result->content;
}
return View::make('message',array('title' =>$title,'content' =>$content ));
});
我們這裡是指定一個message/edit/{id}的ROUTER,
網址列中{$id}是我們要使用的變數,
在修改的時候我們會將變數帶入程式中,
以便我們可以去顯示出來讓使用者決定如何修改他,
再過們我還會有另一段程式碼去實際修改資料庫的值,
Route::post('message/edit/{id}', function($id)
{
if (Input::has('title')&&Input::has('content'))
{
$title = Input::get('title');
$content = Input::get('content');
if(DB::update('update message_list set title = ?,content=? where id = ?', array($title, $content,$id))){
$message="修改成功";
}else{
$message="修改失敗";
}
}elseif(Input::has('title')&&!Input::has('content')){
$title = Input::get('title');
$content = null;
$message="請輸入訊息內容";
}else{
//
$message="請輸入標題及訊息內容";
}
return View::make('message',array('message' => $message,'title' =>$title,'content' =>$content));
});
這段裡面主要是跟輸入端很像的程式碼,
但是我們將INSERT更換成了UPDATE,
這樣我們就可以讓使用這去更改他的輸入值了。
接下來因為我們需要讓使用者可以看到修改的值我們稍稍更動了一下畫面檔:
<?php echo (isset($message))?$message:'';?>
<form action="?" method="post">
<table>
<thead>
<tr>
<th><h2>留言板</h2></th>
</tr>
</thead>
<tr>
<td><input type="text" name="title" size="50" value="<?php echo (isset($title))?$title:'';?>"></td>
</tr>
<tr>
<td><textarea name="content" rows="30" cols="50"><?php echo(isset($content))?$content:'';?></textarea></td>
</tr>
<tr>
<td><input type="reset" value="清除"><input type="submit" value="送出"></td>
</tr>
</table>
</form>
我們因為有不同的程式共用同樣的網頁,
所以我們將依些變數在產生前都會做有沒有存在的判斷再去顯示,
不然會造成錯誤的產生。